package main

import (
	"fmt"
)

// float浮点数分为：float32，float64

func main() {
	//math.MaxFloat32  //float32最大值，常量  按住Ctrl点击跳转到源码
	//math.MaxFloat64  //float64最大值，常量

	f1 := 1.2345 // 默认都取float64类型
	fmt.Printf("%T\n", f1)

	f2 := float32(9.9999) // 显示声明float32类型
	fmt.Printf("%T\n", f2)

	// f1 = f2 // 类型不同不能直接赋值

	f1 = float64(f2) // 需要先转成同类型才能赋值
	fmt.Println(f1)  // 9.999899864196777 32位转64位会损失精度

	f3 := float64(8.8888) // 显示声明float64类型
	f4 := float32(f3)     // 上面f1是声明过的所以直接用= ，这里的f4没有声明过所以需要声明赋值:=
	fmt.Print(f4)         // 8.8888  64位转32位保留精度
}
